﻿using System;
using System.Collections;
namespace Program18
{
    class Program
    {
        static void Main(string[] args)
        {   //两个数组合并成一个 去重复？  数组，Array， List


            //冒泡排序
            //随机生成500个元素的数组
            int[] nums = new int[600];
            ArrayList arr = new ArrayList();
            Random rnd = new Random();

            while (arr.Count < 600)
            {
                int tempNum = rnd.Next(1, 5000);
                if (!arr.Contains(tempNum))
                {
                    arr.Add(tempNum);
                }
            }
            for (var i = 0; i < nums.Length; i++)
            {
                nums[i] = (int)arr[i];
                Console.Write(nums[i] + " ");
            }

            Console.WriteLine();
            Console.WriteLine("排序后...");
            ////C#类库，队列的排序方法
            //// Array.Sort(nums);
            //Array.Reverse(nums);

            //冒泡排序
            //for(var i = 0; i < nums.Length - 1; i++)
            //{
            //    for(var j=0;j<nums.Length-i-1;j++)
            //    {
            //        if(nums[j]>nums[j+1])
            //        {
            //            //如果当前元素大于后续元素，它们进行交换
            //            var tmp = nums[j];
            //            nums[j] = nums[j + 1];
            //            nums[j + 1] = tmp;
            //        }
            //    }
            //}

            //选择排序
            int minIndex;
            for (var i = 0; i < nums.Length - 1; i++)
            {
                minIndex = i;
                //查询余下数组中最小值的下标，存放到minIndex
                for (var j = i + 1; j < nums.Length; j++)
                {
                    if (nums[j] < nums[minIndex])
                    {
                        minIndex = j;
                    }
                }
                var tmp = nums[i];
                nums[i] = nums[minIndex];
                nums[minIndex] = tmp;
            }

            for (var i = 0; i < nums.Length; i++)
                Console.Write(nums[i] + " ");
        }
    }
}
